	.section .rodata, "a", "progbits"	
	.align 4	
	.section .text, "ax", "progbits"	
	.align 4	
	.section .rodata	
	.align 4	
$acosdata: 	
	.dword 0x3f4269b7ae7014f2	
	.dword 0x3f8c97fb4e8c975f	
	.dword 0x3f8493fa9285045b	
	.dword 0x3f91c4f9138757a8	
	.dword 0x3f8367ee5e33e4a5	
	.dword 0x3f96e8b9a4e9c16e	
	.dword 0x3f87baec93438a96	
	.dword 0x3f9f1c71cae20380	
	.dword 0x3fc5555555555552	
	.dword 0xbf9b1760922dba28	
	.dword 0x3bf193533d1af3fe	
	.dword 0x3f99ad8b92652f80	
	.dword 0x3fb3333333333bf7	
	.dword 0x3fa6db6db6d37a33	
	.dword 0x3fa14fec608b92cd	
	.dword 0x8000000000004502	
	.dword 0x3fc0000000000000	
	.dword 0x3fe0000000000000	
	.dword 0x4000000000000000	
	.dword 0x4008000000000000	
	.dword 0x401c000000000000	
	.dword 0x3ff0000000000000	
	.dword 0x400921fb54442d18	
	.dword 0x3ca1a62633145c07	
	.dword 0x3ff921fb54442d18	
	.dword 0x3c91a62633145c07	
	.dword 0x3ef6e8b9a4e9c16e	
	.dword 0xbdfb1760922dba28	
	.dword 0x3f1f1c71cae20380	
	.dword 0x3e19ad8b92652f80	
	.dword 0x3f46db6db6d37a33	
	.dword 0x3de269b7ae7014f2	
	.dword 0x3f73333333333bf7	
	.dword 0x3e4493fa9285045b	
	.dword 0xbc4e7e86ce1ff030	
	.dword 0x3e6367ee5e33e4a5	
	.dword 0x3bf193533d1af3fe	
	.dword 0x3e87baec93438a96	
	.dword 0x3ed1c4f9138757a8	
	.dword 0x3eac97fb4e8c975f	
	.dword 0x3fa5555555555552	
	.dword 0x3de14fec608b92cd	
	.dword 0x400672f9c060f4f5	
	.dword 0x40052c06ba659415	
	.dword 0x4003de5ac05e5b2f	
	.dword 0x4005170efe66c797	
	.dword 0x40015b59c05bce24	
	.dword 0x4005025513b32f30	
	.dword 0x3ffdd2b8c0594d7e	
	.dword 0x4004edd7dae79d26	
	.dword 0x3ff90fa1c056d8e8	
	.dword 0x4004d99613220f7f	
	.dword 0x3ff46c51c0547012	
	.dword 0x4004c58eb3fa6a49	
	.dword 0x3fefe7bbc05212ae	
	.dword 0x4004b1c0a20bcbc6	
	.dword 0x3feb80dbc04fc070	
	.dword 0x40049e2ac76937e4	
	.dword 0x3fe736b7c04d790f	
	.dword 0x40048acc1f93d776	
	.dword 0x3fe30860c04b3c44	
	.dword 0x400477a3a15ae4b0	
	.dword 0x3fdef4f0c04909cc	
	.dword 0x400464b0697f4726	
	.dword 0x3fdafb8ac046e163	
	.dword 0x400451f16403b289	
	.dword 0x3fd71b59c044c2ca	
	.dword 0x40043f65b7aecc11	
	.dword 0x3fd35392c042adc3	
	.dword 0x40042d0c76dd1156	
	.dword 0x3fcfa371c040a213	
	.dword 0x40041ae4d01983f9	
	.dword 0x3fcc0a37c03e9f7d	
	.dword 0x400408edbecf4a2b	
	.dword 0x3fc88730c03ca5ca	
	.dword 0x4003f7267b0eeed7	
	.dword 0x3fc519adc03ab4c5	
	.dword 0x4003e58e50846ea3	
	.dword 0x3fc1c105c038cc36	
	.dword 0x4003d4243decb5a1	
	.dword 0x3fbe7c97c036ebed	
	.dword 0x4003c2e7b2048812	
	.dword 0x3fbb4bc6c03513b5	
	.dword 0x4003b1d7b29c9700	
	.dword 0x3fb82dfcc0334360	
	.dword 0x4003a0f3a89c0a0a	
	.dword 0x3fb522a8c0317abe	
	.dword 0x4003903ac440fe15	
	.dword 0x3fb2293ec02fb9a2	
	.dword 0x40037fac596206ff	
	.dword 0x3faf4138c02dffe0	
	.dword 0x40036f47b44972f3	
	.dword 0x3fac6a14c02c4d4c	
	.dword 0x40035f0c1107001d	
	.dword 0x3fa9a354c02aa1be	
	.dword 0x40034ef8e7c62025	
	.dword 0x3fa6ec80c028fd0d	
	.dword 0x40033f0d815ec2da	
	.dword 0x3fa44523c0275f11	
	.dword 0x40032f492e0b0c0e	
	.dword 0x3fa1acccc025c7a5	
	.dword 0x40031fab66b9f8b6	
	.dword 0x3f9f230fc02436a3	
	.dword 0x40031033788665c8	
	.dword 0x3f9ca783c022abe8	
	.dword 0x400300e0ded1e594	
	.dword 0x3f9a39c2c0212751	
	.dword 0x4002f1b30842a075	
	.dword 0x3f97d96bc01fa8bb	
	.dword 0x4002e2a9494fbc25	
	.dword 0x3f95861fc01e3006	
	.dword 0x4002d3c32b018f07	
	.dword 0x3f933f82c01cbd11	
	.dword 0x4002c500142c8510	
	.dword 0x3f91053cc01b4fbd	
	.dword 0x4002b65f7f1daa26	
	.dword 0x3f8ed6f7c019e7eb	
	.dword 0x4002a7e0dda5e7e2	
	.dword 0x3f8cb461c018857f	
	.dword 0x40029983c9948908	
	.dword 0x3f8a9d2ac017285b	
	.dword 0x40028b47aa59eeeb	
	.dword 0x3f889104c015d062	
	.dword 0x40027d2bf2821162	
	.dword 0x3f868fa5c0147d7c	
	.dword 0x40026f30669445ed	
	.dword 0x3f8498c3c0132f8a	
	.dword 0x400261543b85fad8	
	.dword 0x3f82ac1ac011e676	
	.dword 0x400253973e988364	
	.dword 0x3f80c964c010a224	
	.dword 0x400245f8cf7601fc	
	.dword 0x3f7de0c1c00f627e	
	.dword 0x40023878aab7acb5	
	.dword 0x3f7a419fc00e276a	
	.dword 0x40022b1636aab17c	
	.dword 0x3f76b4e6c00cf0d1	
	.dword 0x40021dd10f2aa54c	
	.dword 0x3f733a1ec00bbe9d	
	.dword 0x400210a8dacdcc1a	
	.dword 0x3f6fd0d4c00a90b8	
	.dword 0x4002039d30e54b08	
	.dword 0x3f6c7897c009670b	
	.dword 0x4001f6ad8e05e1b3	
	.dword 0x3f6930fac0084182	
	.dword 0x4001e9d9a51b1d74	
	.dword 0x3f65f994c0072009	
	.dword 0x4001dd211cf6297b	
	.dword 0x3f62d1fec006028b	
	.dword 0x4001d0838103f9e2	
	.dword 0x3f5fb9d5c004e8f5	
	.dword 0x4001c4007cc51dba	
	.dword 0x3f5cb0b7c003d333	
	.dword 0x4001b797a3e7f161	
	.dword 0x3f59b649c002c134	
	.dword 0x4001ab48b4f86544	
	.dword 0x3f56ca2ec001b2e5	
	.dword 0x40019f134bc09f7e	
	.dword 0x3f53ec0fc000a834	
	.dword 0x400192f704a8d6a9	
	.dword 0x3f511b96bfff4221	
	.dword 0x400186f39d5a7e63	
	.dword 0x3f4e5870bffd3ad2	
	.dword 0x40017b08b211c804	
	.dword 0x3f4ba24cbffb3a5b	
	.dword 0x40016f35fc173425	
	.dword 0x3f48f8dcbff9409b	
	.dword 0x4001637b1e599490	
	.dword 0x3f465bd5bff74d73	
	.dword 0x400157d7c880b659	
	.dword 0x3f43caebbff560c5	
	.dword 0x40014c4bbd156bcf	
	.dword 0x3f4145d7bff37a71	
	.dword 0x400140d69283ab1d	
	.dword 0x3f3ecc53bff19a5c	
	.dword 0x4001357819073c6b	
	.dword 0x3f3c5e1cbfefc069	
	.dword 0x40012a2ffd4a0663	
	.dword 0x3f39faefbfedec7b	
	.dword 0x40011efdede7b908	
	.dword 0x3f37a28cbfec1e78	
	.dword 0x400113e1b252b4d7	
	.dword 0x3f3554b6bfea5645	
	.dword 0x400108daf9904832	
	.dword 0x3f33112ebfe893c7	
	.dword 0x4000fde97e150822	
	.dword 0x3f30d7babfe6d6e5	
	.dword 0x4000f30cfd1a5086	
	.dword 0x3f2ea821bfe51f87	
	.dword 0x4000e8453d632fc4	
	.dword 0x3f2c822cbfe36d94	
	.dword 0x4000dd91f11c7d33	
	.dword 0x3f2a65a2bfe1c0f3	
	.dword 0x4000d2f2d61ea754	
	.dword 0x3f285250bfe0198f	
	.dword 0x4000c867c0d51627	
	.dword 0x3f264803bfde7750	
	.dword 0x4000bdf061244ec6	
	.dword 0x3f244687bfdcda1f	
	.dword 0x4000b38c7a6b2e99	
	.dword 0x3f224dadbfdb41e7	
	.dword 0x4000a93bd19f4764	
	.dword 0x3f205d44bfd9ae92	
	.dword 0x40009efe2ad2e77d	
	.dword 0x3f1e751fbfd8200d	
	.dword 0x400094d35dbcaf97	
	.dword 0x3f1c9510bfd69641	
	.dword 0x40008abb14b04d5e	
	.dword 0x3f1abcecbfd5111c	
	.dword 0x400080b52cda2e67	
	.dword 0x3f18ec88bfd3908a	
	.dword 0x400076c16ab42acc	
	.dword 0x3f1723babfd21477	
	.dword 0x40006cdf8e9d45e3	
	.dword 0x3f156259bfd09cd0	
	.dword 0x4000630f62171386	
	.dword 0x3f13a83ebfcf2984	
	.dword 0x40005950bfb6fb6a	
	.dword 0x3f11f542bfcdba80	
	.dword 0x40004fa368a7e5f7	
	.dword 0x3f104940bfcc4fb3	
	.dword 0x400046072ef38d27	
	.dword 0x3f0ea414bfcae90c	
	.dword 0x40003c7be03435f5	
	.dword 0x3f0d0598bfc98678	
	.dword 0x400033013b99fee4	
	.dword 0x3f0b6dabbfc827e9	
	.dword 0x4000299728d4ef26	
	.dword 0x3f09dc2bbfc6cd4e	
	.dword 0x4000203d6d906b03	
	.dword 0x3f0850f6bfc57696	
	.dword 0x400016f3d0880103	
	.dword 0x3f06cbecbfc423b3	
	.dword 0x40000dba37509185	
	.dword 0x3f054ceebfc2d495	
	.dword 0x4000049066ce8c53	
	.dword 0x3f03d3dcbfc1892d	
	.dword 0x3ffff6ec72279bc0	
	.dword 0x3f026099bfc0416c	
	.dword 0x3fffe4d6eda5cd81	
	.dword 0x3f00f308bfbefd45	
	.dword 0x3fffd2e00c012834	
	.dword 0x3eff1616bfbdbca8	
	.dword 0x3fffc10752f75b3b	
	.dword 0x3efc510ebfbc7f88	
	.dword 0x3fffaf4c799a7f94	
	.dword 0x3ef996c2bfbb45d9	
	.dword 0x3fff9daf55edcc30	
	.dword 0x3ef6e6fbbfba0f8b	
	.dword 0x3fff8c2f537eb099	
	.dword 0x3ef44186bfb8dc92	
	.dword 0x3fff7acc38cd722f	
	.dword 0x3ef1a631bfb7ace2	
	.dword 0x3fff6985c800858f	
	.dword 0x3eef14c9bfb6806e	
	.dword 0x3fff585baed5086e	
	.dword 0x3eec8d1ebfb55729	
	.dword 0x3fff474d88bfcc7e	
	.dword 0x3eea0f02bfb43109	
	.dword 0x3fff365b3db0d3c5	
	.dword 0x3ee79a45bfb30e00	
	.dword 0x3fff25844f3507e4	
	.dword 0x3ee52ebbbfb1ee03	
	.dword 0x3fff14c87dab64e4	
	.dword 0x3ee2cc37bfb0d107	
	.dword 0x3fff04279247f5f1	
	.dword 0x3ee0728fbfafb700	
	.dword 0x3ffef3a1252987ab	
	.dword 0x3ede2198bfae9fe4	
	.dword 0x3ffee33512fb7286	
	.dword 0x3edbd929bfad8ba8	
	.dword 0x3ffed2e30e1fbfd6	
	.dword 0x3ed9991abfac7a41	
	.dword 0x3ffec2aac33c7a14	
	.dword 0x3ed76144bfab6ba5	
	.dword 0x3ffeb28bf7968902	
	.dword 0x3ed53180bfaa5fca	
	.dword 0x3ffea28672271f31	
	.dword 0x3ed309a8bfa956a6	
	.dword 0x3ffe9299f446dfa2	
	.dword 0x3ed0e998bfa8502f	
	.dword 0x3ffe82c631fc7113	
	.dword 0x3eced12cbfa74c5a	
	.dword 0x3ffe730ac17a77a1	
	.dword 0x3eccc040bfa64b20	
	.dword 0x3ffe6367b683d568	
	.dword 0x3ecab6b3bfa54c76	
	.dword 0x3ffe53dc93851ebf	
	.dword 0x3ec8b462bfa45054	
	.dword 0x3ffe446948e8d2d8	
	.dword 0x3ec6b92dbfa356b0	
	.dword 0x3ffe350d72ed724b	
	.dword 0x3ec4c4f3bfa25f82	
	.dword 0x3ffe25c8f5acec61	
	.dword 0x3ec2d795bfa16ac0	
	.dword 0x3ffe169b67c5c2c3	
	.dword 0x3ec0f0f5bfa07864	
	.dword 0x3ffe0784d8265439	
	.dword 0x3fbe23c8c01f118b	
	.dword 0x3ffdf1131ec5a532	
	.dword 0x3fba7d85c01d3ac5	
	.dword 0x3ffdd36c0000d4c8	
	.dword 0x3fb6f02dc01b6d00	
	.dword 0x3ffdb61c57cb9031	
	.dword 0x3fb37ae5c019a7fe	
	.dword 0x3ffd992272ed1c77	
	.dword 0x3fb01cddc017eb83	
	.dword 0x3ffd7c7c95b0b15c	
	.dword 0x3facd54fc0163758	
	.dword 0x3ffd60296603fec1	
	.dword 0x3fa9a37bc0148b45	
	.dword 0x3ffd4427469777ae	
	.dword 0x3fa686a9c012e714	
	.dword 0x3ffd2874a71adcce	
	.dword 0x3fa37e28c0114a91	
	.dword 0x3ffd0d100c38599d	
	.dword 0x3fa08950c00fb58a	
	.dword 0x3ffcf1f7fc8f14cb	
	.dword 0x3f9da77dc00e27d0	
	.dword 0x3ffcd72b5027d5b6	
	.dword 0x3f9ad814c00ca133	
	.dword 0x3ffcbca877f69e05	
	.dword 0x3f981a7fc00b2187	
	.dword 0x3ffca26e4e14c785	
	.dword 0x3f956e2dc009a89f	
	.dword 0x3ffc887b67cdb787	
	.dword 0x3f92d292c0083650	
	.dword 0x3ffc6ece7d1a45e5	
	.dword 0x3f90472bc006ca73	
	.dword 0x3ffc5566887296e4	
	.dword 0x3f8dcb76c00564de	
	.dword 0x3ffc3c421b6717e3	
	.dword 0x3f8b5ef7c004056b	
	.dword 0x3ffc2360264323b8	
	.dword 0x3f890138c002abf5	
	.dword 0x3ffc0abf8c0c1853	
	.dword 0x3f86b1c6c0015858	
	.dword 0x3ffbf25f4069b804	
	.dword 0x3f847032c0000a6f	
	.dword 0x3ffbda3df2c0f56b	
	.dword 0x3f823c13bffd8435	
	.dword 0x3ffbc25ae82b41be	
	.dword 0x3f801501bffafe6e	
	.dword 0x3ffbaab4d0c8f1c2	
	.dword 0x3f7bf536bff8834b	
	.dword 0x3ffb934ac1a3163f	
	.dword 0x3f77d900bff6128d	
	.dword 0x3ffb7c1bc6e21d7e	
	.dword 0x3f73d4abbff3abf8	
	.dword 0x3ffb6526e60015a5	
	.dword 0x3f6fe784bff14f50	
	.dword 0x3ffb4e6b21cbd876	
	.dword 0x3f6c10e1bfeefc5d	
	.dword 0x3ffb37e79ee07b4c	
	.dword 0x3f68501dbfecb2e7	
	.dword 0x3ffb219b6d2d48b6	
	.dword 0x3f64a499bfea72b8	
	.dword 0x3ffb0b85a81c9b61	
	.dword 0x3f610dbbbfe83b9d	
	.dword 0x3ffaf5a5902fdc83	
	.dword 0x3f5d8aeebfe60d61	
	.dword 0x3ffadffa27f22c44	
	.dword 0x3f5a1ba3bfe3e7d3	
	.dword 0x3ffaca82a3884d02	
	.dword 0x3f56bf51bfe1cac5	
	.dword 0x3ffab53e554d369e	
	.dword 0x3f537570bfdfb606	
	.dword 0x3ffaa02c5450035a	
	.dword 0x3f503d7fbfdda969	
	.dword 0x3ffa8b4be28ff013	
	.dword 0x3f4d1702bfdba4c2	
	.dword 0x3ffa769c3ccf3bef	
	.dword 0x3f4a017fbfd9a7e6	
	.dword 0x3ffa621cadd0d7d8	
	.dword 0x3f46fc82bfd7b2ab	
	.dword 0x3ffa4dcc73a23063	
	.dword 0x3f440799bfd5c4e8	
	.dword 0x3ffa39aad9b8e6fd	
	.dword 0x3f412258bfd3de77	
	.dword 0x3ffa25b747a99575	
	.dword 0x3f3e4c53bfd1ff2e	
	.dword 0x3ffa11f0d6d4c329	
	.dword 0x3f3b8525bfd026eb	
	.dword 0x3ff9fe571e725d64	
	.dword 0x3f38cc6abfce5587	
	.dword 0x3ff9eae94a856a92	
	.dword 0x3f3621c3bfcc8ae0	
	.dword 0x3ff9d7a6d3534a3f	
	.dword 0x3f3384d1bfcac6d1	
	.dword 0x3ff9c48ef6170fe5	
	.dword 0x3f30f53cbfc9093b	
	.dword 0x3ff9b1a143d296cd	
	.dword 0x3f2e72acbfc751fb	
	.dword 0x3ff99edcfbbf8768	
	.dword 0x3f2bfccbbfc5a0f2	
	.dword 0x3ff98c41aa7c60ad	
	.dword 0x3f299349bfc3f600	
	.dword 0x3ff979ce9e5e0c30	
	.dword 0x3f2735d5bfc25106	
	.dword 0x3ff9678347a967c7	
	.dword 0x3f24e423bfc0b1e7	
	.dword 0x3ff9555f213a91b3	
	.dword 0x3f229de8bfbf1887	
	.dword 0x3ff94361b92f1e71	
	.dword 0x3f2062dbbfbd84c7	
	.dword 0x3ff9318a4e9fbb55	
	.dword 0x3f1e32b7bfbbf68e	
	.dword 0x3ff91fd88c3e135d	
	.dword 0x3f1c0d36bfba6dc0	
	.dword 0x3ff90e4be5486399	
	.dword 0x3f19f217bfb8ea42	
	.dword 0x3ff8fce3becd10bc	
	.dword 0x3f17e11abfb76bfc	
	.dword 0x3ff8eb9fbe525978	
	.dword 0x3f15d9ffbfb5f2d3	
	.dword 0x3ff8da7f48293568	
	.dword 0x3f13dc8cbfb47eb1	
	.dword 0x3ff8c98205d5e650	
	.dword 0x3f11e884bfb30f7c	
	.dword 0x3ff8b8a760ba5dac	
	.dword 0x3f0ffdb0bfb1a51e	
	.dword 0x3ff8a7eeefd22e82	
	.dword 0x3f0e1bd7bfb03f80	
	.dword 0x3ff8975847805b92	
	.dword 0x3f0c42c3bfaede8a	
	.dword 0x3ff886e2cd57cc04	
	.dword 0x3f0a7241bfad8229	
	.dword 0x3ff8768e46b3d0d8	
	.dword 0x3f08aa1ebfac2a48	
	.dword 0x3ff8665a4cc7ad59	
	.dword 0x3f06ea27bfaad6cf	
	.dword 0x3ff856463347fcf1	
	.dword 0x3f05322ebfa987ad	
	.dword 0x3ff84651cc7c68cf	
	.dword 0x3f038204bfa83ccd	
	.dword 0x3ff8367c95d48bda	
	.dword 0x3f01d97abfa6f61c	
	.dword 0x3ff826c640b0d774	
	.dword 0x3f003866bfa5b387	
	.dword 0x3ff8172e521e69ab	
	.dword 0x3efd3d38bfa474fb	
	.dword 0x3ff807b464a31380	
	.dword 0x3efa17e4bfa33a67	
	.dword 0x3ff7f858344463f5	
	.dword 0x3ef70080bfa203b9	
	.dword 0x3ff7e919536e309d	
	.dword 0x3ef3f6bdbfa0d0df	
	.dword 0x3ff7d9f751d9db7f	
	.dword 0x3ef0fa4ebf9fa1ca	
	.dword 0x3ff7caf203bdd024	
	.dword 0x3eee0ae8bf9e7667	
	.dword 0x3ff7bc08d06a95a6	
	.dword 0x3eeb2842bf9d4ea8	
	.dword 0x3ff7ad3b96a621bf	
	.dword 0x3ee85215bf9c2a7d	
	.dword 0x3ff79e89fac56bba	
	.dword 0x3ee5881dbf9b09d5	
	.dword 0x3ff78ff379c2bb58	
	.dword 0x3ee2ca16bf99eca3	
	.dword 0x3ff78177fa3e419f	
	.dword 0x3ee017bfbf98d2d7	
	.dword 0x3ff7731707c1acb7	
	.dword 0x3edd70d7bf97bc62	
	.dword 0x3ff764d049bbc9e6	
	.dword 0x3edad522bf96a937	
	.dword 0x3ff756a38367baca	
	.dword 0x3ed84462bf959948	
	.dword 0x3ff748906acc6906	
	.dword 0x3ed5be5dbf948c88	
	.dword 0x3ff73a96bcc0ac8a	
	.dword 0x3ed342d8bf9382e7	
	.dword 0x3ff72cb5ed77fbb2	
	.dword 0x3ed0d19dbf927c5c	
	.dword 0x3ff71eee1262b283	
	.dword 0x3ece6a74bf9178d7	
	.dword 0x3ff7113e928b4839	
	.dword 0x3ecc0d29bf90784d	
	.dword 0x3ff703a746765494	
	.dword 0x3ec9b988bf8f7ab1	
	.dword 0x3ff6f627d271890f	
	.dword 0x3ec76f5dbf8e7ff8	
	.dword 0x3ff6e8c01330f37e	
	.dword 0x3ec52e79bf8d8817	
	.dword 0x3ff6db6fca5f6659	
	.dword 0x3ec2f6aabf8c9300	
	.dword 0x3ff6ce367a3c2c24	
	.dword 0x3ec0c7c2bf8ba0aa	
	.dword 0x3ff6c11418d80162	
	.dword 0x3ebea193bf8ab109	
	.dword 0x3ff6b4084b1eb26b	
	.dword 0x3ebc83f0bf89c412	
	.dword 0x3ff6a712cd29fcba	
	.dword 0x3eba6eafbf88d9bb	
	.dword 0x3ff69a33664b0f09	
	.dword 0x3eb861a4bf87f1f9	
	.dword 0x3ff68d69cfa00fd5	
	.dword 0x3eb65ca6bf870cc3	
	.dword 0x3ff680b5e9d2a6b3	
	.dword 0x3eb45f8cbf862a0e	
	.dword 0x3ff674175e7a0e0b	
	.dword 0x3eb26a30bf8549d1	
	.dword 0x3ff6678dfe6852bf	
	.dword 0x3eb07c6abf846c01	
	.dword 0x3ff65b196f577b40	
	.dword 0x3eae9616bf839096	
	.dword 0x3ff64eb994beacb4	
	.dword 0x3eacb70dbf82b786	
	.dword 0x3ff6426e2d87a5b4	
	.dword 0x3eaadf2dbf81e0c9	
	.dword 0x3ff63637133eca3a	
	.dword 0x3ea90e52bf810c55	
	.dword 0x3ff62a13f3b8ca64	
	.dword 0x3ea74459bf803a22	
	.dword 0x3ff61e04b1e928a1	
	.dword 0x3ea58123bf7ed44e	
	.dword 0x3ff61208f9c12cea	
	.dword 0x3ea3c48dbf7d38b8	
	.dword 0x3ff60620b0f105b4	
	.dword 0x3ea20e79bf7ba172	
	.dword 0x3ff5fa4b9c747236	
	.dword 0x3ea05ec6bf7a0e6a	
	.dword 0x3ff5ee8979454bb5	
	.dword 0x3e9eb556bf787f92	
	.dword 0x3ff5e2da2c804088	
	.dword 0x3e9d120cbf76f4d9	
	.dword 0x3ff5d73d686ac26d	
	.dword 0x3e9b74cabf756e31	
	.dword 0x3ff5cbb31493b001	
	.dword 0x3e99dd75bf73eb8c	
	.dword 0x3ff5c03b048406f4	
	.dword 0x3e984befbf726cd9	
	.dword 0x3ff5b4d4f4dbeebe	
	.dword 0x3e96c01fbf70f20b	
	.dword 0x3ff5a980bbe3f38a	
	.dword 0x3e9539e9bf6f7b14	
	.dword 0x3ff59e3e37ac4b0e	
	.dword 0x3e93b933bf6e07e5	
	.dword 0x3ff5930d294f0c16	
	.dword 0x3e923de4bf6c9870	
	.dword 0x3ff587ed5aaed17d	
	.dword 0x3e90c7e3bf6b2caa	
	.dword 0x3ff57cdec550e64d	
	.dword 0x3e8f5718bf69c484	
	.dword 0x3ff571e11e1a64d6	
	.dword 0x3e8deb6bbf685ff2	
	.dword 0x3ff566f44990847b	
	.dword 0x3e8c84c4bf66fee6	
	.dword 0x3ff55c180dee1cfa	
	.dword 0x3e8b230ebf65a155	
	.dword 0x3ff5514c4a4098f7	
	.dword 0x3e89c631bf644732	
	.dword 0x3ff54690d65fdb98	
	.dword 0x3e886e18bf62f072	
	.dword 0x3ff53be59358f9fc	
	.section .text	
	.align 4	
	.globl _rv_acos	
_rv_acos: 	
	fmv.x.d t1,fa0	
	li t3,2047	
	li t4,1022	
	lui a0,%hi($acosdata)	
	addi a0,a0,%lo($acosdata)
	addi sp,sp,-192	
	li t5,997	
	sd ra,0(sp)	
	srai t2,t1,0x34	
	fld ft0,168(a0)	
	and t2,t2,t3	
	sltu t4,t2,t4	
	sltu t5,t2,t5	
	addi a3,a0,0
	vsetvli a5,a6,e64,m1
	vle64.v v13,(a3)
	fld fa1,104(a0)	
	vfmv.v.f v16,fa0	
	addi a3,a0,16
	vle64.v v22,(a3)
	fmv.x.d a3,ft0
	li a2,0xFFF0000000000000
	and a3,a3,a2
	li t6,0x000FFFFFFFFFFFFF
	fmv.x.d a4,fa0
	and a2,a4,t6
	or a3,a3,a2
	fmv.d.x fs1,a3
	beqz t4,TZ1	
	.align 4	
	bnez t5,TZ2	
	vfmul.vv v0,v16,v16	
	fld ft10,96(a0)	
	vfmv.f.s fa7,v0
	fmadd.d fa1,fa7,fa1,ft10	
	vfmadd.vv v13,v0,v22
	addi a3,a0,64
	vle64.v v11,(a3)
	addi a3,a0,32
	vle64.v v21,(a3)
	fld fa3,112(a0)	
	addi a3,a0,80
	vle64.v v28,(a3)
	addi a3,a0,48
	vle64.v v27,(a3)
	fld fs9,192(a0)	
	vfmul.vv v14,v0,v0	
	vfmadd.vv v11,v0,v28
	fld fa4,200(a0)	
	vfmadd.vv v0,v21,v27	
	vslidedown.vi v17,v17,4	
	vslidedown.vi v1,v1,4
	vslidedown.vi v2,v2,4
	vslidedown.vi v3,v3,4
	vfmv.s.f v17,fa3
	vslideup.vi v3,v17,3
	vfmv.s.f v17,fa1	
	vslideup.vi v2,v17,2
	vfmv.s.f v17,fa3	
	vslideup.vi v1,v17,1
	vfmv.s.f v17,fa1	
	vor.vv v1,v1,v2
	vor.vv v1,v1,v3
	vor.vv v17,v1,v17
	vfmacc.vv v11,v14,v17	
	vfmv.f.s fs5,v14
	fmul.d fa6,fs5,fs5	
	fsub.d fs1,fs9,fa0	
	vfmacc.vv v0,v14,v13	
	fmul.d fs10,fa0,fa6	
	fsub.d fs9,fs9,fs1	
	vslidedown.vi v16,v16,4	
	vslidedown.vi v1,v1,4
	vslidedown.vi v2,v2,4
	vslidedown.vi v3,v3,4
	vfmv.s.f v16,fa6
	vslideup.vi v3,v16,3
	vfmv.s.f v16,fa0	
	vslideup.vi v2,v16,2
	vfmv.s.f v16,fa6	
	vslideup.vi v1,v16,1
	vfmv.s.f v16,fa0	
	vor.vv v1,v1,v2
	vor.vv v1,v1,v3
	vor.vv v16,v1,v16
	vfmul.vv v11,v16,v11	
	vslidedown.vi v1,v0,1	
	vfmv.f.s fs3,v1
	vfmv.v.f v12,fs3	
	fmul.d fa6,fa6,fs10	
	fmul.d fs3,fs10,fs3	
	vslidedown.vi v1,v11,1	
	vfmv.f.s fs6,v1
	vfmv.v.f v15,fs6	
	fsub.d fs9,fs9,fa0	
	vfmv.f.s fa7,v0
	fadd.d fa7,fa7,fs6	
	fadd.d fa4,fa4,fs9	
	fmul.d fa7,fa6,fa7	
	vfmv.f.s fs2,v11
	fadd.d fs2,fs2,fs3	
	fadd.d fa7,fs2,fa7	
	fsub.d fa7,fa7,fa4	
	fsub.d fa7,fs1,fa7	
	fmv.d fa0,fa7	
	addi sp,sp,192
	ret
	.align 4	
TZ2: 	
	fld ft8,192(a0)	
	ld ra,0(sp)	
	beqz t2,TZ3	
	fsub.d fa7,ft8,fa0	
	fmv.d fa0,fa7	
	addi sp,sp,192
	ret
	.align 4	
TZ3: 	
	ld ra,0(sp)	
	fld fa7,192(a0)	
	fmv.d fa0,fa7	
	addi sp,sp,192
	ret
	.align 4	
TZ1: 	
	fld fa5,144(a0)	
	addi a2,a0,336	
	li t6,1023	
	li a4,1534	
	sltu t6,t2,t6	
	fld ft11,136(a0)	
	fld fs5,312(a0)	
	addi a3,a0,208
	vle64.v v11,(a3)
	fld fs3,304(a0)	
	fsub.d ft10,fa5,fs1	
	beqz t6,TZ4	
	addi a3,a0,240
	vle64.v v23,(a3)
	addi a3,a0,272
	vle64.v v15,(a3)
	addi a3,a0,256
	vle64.v v20,(a3)
	fld fa6,328(a0)	
	addi a3,a0,224
	vle64.v v16,(a3)
	addi a3,a0,288
	vle64.v v30,(a3)
	vfmv.v.f v24,ft10	
	ld ra,0(sp)	
	fmv.x.d a3,ft11
	li a1,0xFFF0000000000000
	and a3,a3,a1
	li a7,0x000FFFFFFFFFFFFF
	fmv.x.d t6,ft10
	and a1,t6,a7
	or a3,a3,a1
	fmv.d.x fa3,a3
	fmadd.d fs5,ft10,fs5,fs3	
	vfmul.vv v18,v24,v24	
	fmv.x.d a7,ft10	
	srli a1,a7,0x2d	
	andi a1,a1,0xff	
	srli a7,a7,0x35	
	sub a7,a4,a7	
	slli a1,a1,0x4	
	slli a7,a7,0x34	
	add a1,a2,a1	
	fmv.d.x fa7,a7	
        flw fs7,0(a1)   
        fmv.x.d a4,fs7
        li a3,0x20000000
        and a3,a3,a4
        beqz a3,life_13
        li a3,0x30000000
        slli a3,a3,0x2
        and a2,a3,a4
        slli a2,a2,0x3
        li a3,0x1c0000000
        or a2,a3,a2
        li a3,0x3FFFFFFF
        and a4,a3,a4
        or a4,a2,a4
        slli a4,a4,0x1D
        fmv.d.x fs7,a4
        j life_14
life_13:
        li a3,0x30000000
        slli a3,a3,0x2
        and a2,a3,a4
        slli a2,a2,0x3
        li a3,0x3FFFFFFF
        and a4,a3,a4
        or a4,a2,a4
        slli a4,a4,0x1D
        fmv.d.x fs7,a4
life_14:
        flw fs8,4(a1)   
 
        fmv.x.d a4,fs8
        li a3,0x20000000
        and a3,a3,a4
        beqz a3,life_15
        li a3,0x30000000
        slli a3,a3,0x2
        and a2,a3,a4
        slli a2,a2,0x3
        li a3,0x1c0000000
        or a2,a3,a2
        li a3,0x3FFFFFFF
        and a4,a3,a4
        or a4,a2,a4
        slli a4,a4,0x1D
        fmv.d.x fs8,a4
        j life_16
life_15:
        li a3,0x30000000
        slli a3,a3,0x2
        and a2,a3,a4
        slli a2,a2,0x3
        li a3,0x3FFFFFFF
        and a4,a3,a4
        or a4,a2,a4
        slli a4,a4,0x1D
        fmv.d.x fs8,a4
life_16:
	fld fs4,8(a1)	
	fmul.d ft8,fa3,fa3	
	vfmadd.vv v11,v24,v16
	vslidedown.vi v26,v26,4	
	vslidedown.vi v1,v1,4
	vslidedown.vi v2,v2,4
	vslidedown.vi v3,v3,4
	vfmv.s.f v26,fa6
	vslideup.vi v3,v26,3
	vfmv.s.f v26,fa6	
	vslideup.vi v2,v26,2
	vfmv.s.f v26,fa6	
	vslideup.vi v1,v26,1
	vfmv.s.f v26,fs5	
	vor.vv v1,v1,v2
	vor.vv v1,v1,v3
	vor.vv v26,v1,v26
	vfmadd.vv v15,v24,v30
	vfmadd.vv v23,v24,v20
	fmadd.d fs4,fs7,fa3,fs4	
	vfmacc.vv v11,v18,v26	
	vfmul.vv v17,v18,v18	
	vfmadd.vv v23,v18,v15
	fmadd.d fs4,fs8,ft8,fs4	
	fld fs9,152(a0)	
	fld fs3,160(a0)	
	fld fs7,128(a0)	
	fmul.d fa7,fa7,fs4	
	fld fs8,320(a0)	
	vfmv.f.s fa1,v17
	fmul.d fa0,fa1,fa1	
	vfmadd.vv v11,v17,v23
	fmul.d fs5,ft10,fa7	
	fmul.d fa5,fa5,fa7	
	li a3,0xfffffffff0000000
	fmv.x.d a2,fs5
	and a3,a3,a2
	fmv.d.x ft8,a3
	vslidedown.vi v1,v11,1	
	vfmv.f.s fs6,v1
	vfmv.v.f v15,fs6	
	fmul.d fs4,fs5,fa7	
	fmul.d fa7,fs7,fa7	
	fmul.d fs5,ft11,fs5	
	vfmv.f.s fs2,v11
	fmadd.d fs2,fa0,fs6,fs2	
	fsub.d fs9,fs9,fs4	
	fmadd.d fs4,fa5,ft8,fs4	
	fmul.d fa0,ft8,ft8	
	fmul.d fs5,fs5,fs9	
	fsub.d fa0,ft10,fa0	
	fmul.d ft10,ft10,fs8	
	fsub.d fs3,fs3,fs4	
	fmul.d fs2,fs5,fs2	
	fmul.d fa7,fa7,fa0	
	fmul.d fs5,fs5,ft10	
	fmul.d fs3,fs3,fa7	
	blt t1,zero,TZ5	
	fadd.d fa4,ft8,fs5	
	fsub.d ft9,ft8,fa4	
	fadd.d fs5,ft9,fs5	
	fadd.d fs3,fs3,fs5	
	fadd.d fs2,fs2,fs3	
	fadd.d fa7,fa4,fs2	
	fmv.d fa0,fa7	
	addi sp,sp,192
	ret
	.align 4	
TZ5: 	
	fadd.d fs10,fs5,fs2	
	fld fa6,184(a0)	
	fld fa3,176(a0)	
	ld ra,0(sp)	
	fsub.d fs5,fs5,fs10	
	fsub.d fs3,fa6,fs3	
	fsub.d fa3,fa3,ft8	
	fadd.d fs2,fs5,fs2	
	fsub.d fs2,fs2,fs3	
	fadd.d fs2,fs10,fs2	
	fsub.d fa7,fa3,fs2	
	fmv.d fa0,fa7	
	addi sp,sp,192
	ret
	.align 4	
TZ4: 	
	addi a5,t2,-1023	
	srli t1,t1,0x3f	
	fld fa7,176(a0)	
	ld ra,0(sp)	
	bnez a5,TZ6	
	feq.d a3,fs1,ft0
	beqz a3,TYPH_1
	li a3,0x4000000000000000
	fmv.d.x ft11,a3
	j TYPH_2
TYPH_1:	fmv.d.x ft11,a3
TYPH_2:	
	fmv.d.x fa2,t1	
	li a2,0x0000000000000000
	fmv.d.x fs11,a2
	fmv.x.d a3,fa2
	beqz a3,life_17
	fmv.d fa7,fa7
	j life_18
life_17:
	fmv.d fa7,fs11
life_18:
	li a3,0
	fmv.d.x fa3,a3
	feq.d a2,ft11,fa3
	bnez a2,TZ6
	.align 4	
	fmv.d fa0,fa7   
	addi sp,sp,192  
	ret
	.align 4	
TZ6: 	
	sltu t2,t2,t3	
	ld ra,0(sp)	
	fmv.d fa7,fa0	
	bnez t2,TZ7	
	feq.d a2,fs1,ft0
	beqz a2,TYPH_3
	li a2,0x4000000000000000
	fmv.d.x ft0,a2
	j TYPH_4
TYPH_3:	fmv.d.x ft0,a2
TYPH_4:	
	
	feq.d a3,ft0,fa3
	beqz a3,TZ7
	.align 4	
	fmv.d fa0,fa7	
	addi sp,sp,192
	ret
	.align 4	
TZ7: 	
	ld a6,120(a0)	
	addi a1,sp,8	
	sd a6,8(sp)	
	ld ra,0(sp)	
	fld fa7,40(sp)	
	fmv.d fa0,fa7	
	addi sp,sp,192
	ret
